package com.tmxk.days01.wmh.Test;

import com.tmxk.days01.wmh.Test.Student_wmh;

public class StudentTest_wmh {
    public static void main(String[] args) {
        Student_wmh stu1 = new Student_wmh();
        String name = "小张";
        int age = 1;
        //调用了change方法
        // 方法调用,传递参数分类类型是值传递
        // 值传递流程原理 是 将传值的参数值复制一份,在调用方法的内部操作的是复制的那份值,不需要关心调用的方法内部是如何操作的,最终输出的只是原先值
        stu1.change(name, age);
        System.out.println("姓名是: " + name + ",年龄是:" + age);

        // 方法调用,传递的参数分类类型是 引用传递
        // 引用传递的流程原理: 传递的是内存地址,对于引用的同一份内存地址进行操作,原先的值必然会被更改
        stu1.change(stu1);
        name = stu1.name;
        age = stu1.age;
        System.out.println("姓名是: " + name + ",年龄是:" + age);

        int[] nums = {11, 22};
        stu1.change(nums);
        System.out.println("数组下标为0的值为: " + nums[0]);

        int num = 10;
        stu1.change(num);
        System.out.println("num的值为: " + num);

    }
}
